package com.fowo.api.common.mybatis.helper;

import net.sf.jsqlparser.expression.Expression;
import net.sf.jsqlparser.schema.Column;

/**
 * 提供分页搜索器的 Sql 方言处理
 * @author yl_ls
 */
public interface PageSearchSqlDialect {
    /**
     * 提供在使用 , 分隔的文本字段上找给定的值是否存在的条件表达式
     * @param left 左值表达式，一般是一个文本字段
     * @param right 右值表达式，要在字段中找到一个值
     * @return 条件表达式
     */
    Expression stringSetFieldInExpression(Expression left, Expression right);

    /**
     * 提供在 JSON 数组字段上找给定的值是否存在的条件表达式
     * @param left 左值表达式，一般是 JSON 数组字段
     * @param right 右值表达式，要在字段中找到一个值
     * @return 条件表达式
     */
    Expression jsonArrayFieldInExpression(Expression left, Expression right);
}
